import java.util.Arrays;
import java.util.Random;

public class Test {
    //建立有序数组
    public static void initArraysOrder(int[] arr){
        for (int i = 0; i < arr.length; i++) {
            arr[i]=i;
        }
    }
    //建立无序数组
    public static void initArraysNotOrder(int[] arr){

        Random random=new Random();
        for (int i = 0; i < arr.length; i++) {
            arr[i]= random.nextInt(10_0000);
        }
    }
    public static void testInsertSort(int[] arr){
       arr = Arrays.copyOf(arr,arr.length);
       long startTime=System.currentTimeMillis();
       Sort.insertSort(arr);
       long endeTime=System.currentTimeMillis();
       System.out.println("有序/无序数组排序时间"+(endeTime-startTime));
    }
    public static void testShellSort(int[] arr){
        arr = Arrays.copyOf(arr,arr.length);
        long startTime=System.currentTimeMillis();
        Sort.ShellSort(arr);
        long endeTime=System.currentTimeMillis();
        System.out.println("数组使用希尔排序时间"+(endeTime-startTime));
    }
    public static void testSelectSort(int[] arr){
        arr = Arrays.copyOf(arr,arr.length);
        long startTime=System.currentTimeMillis();
        Sort.insertSort(arr);
        long endeTime=System.currentTimeMillis();
        System.out.println("有序/无序数组选择排序时间"+(endeTime-startTime));
    }
    public static void testQuickSort(int[] arr){
        arr = Arrays.copyOf(arr,arr.length);
        long startTime=System.currentTimeMillis();
        Sort.insertSort(arr);
        long endeTime=System.currentTimeMillis();
        System.out.println("有序/无序数组快速排序时间"+(endeTime-startTime));
    }

    public static void main6(String[] args) {
        int[] arr=new int[10_0000];
        //initArraysOrder(arr);
        //testInsertSort(arr);//直接插入
        System.out.println("____________");
        initArraysNotOrder(arr);//无序
        //testInsertSort(arr);
        //testShellSort(arr);//希尔排序
        //testSelectSort(arr);//选择排序
        testQuickSort(arr);
    }
    public static void main(String[] args) {
        int[] arr={15,27,19,18,28};
        Sort sort=new Sort();
        Sort.InsertSort(arr);//    希尔排序
        //Sort.selectSort(arr);
        //Sort.SelectSort2(arr);
        //Sort.quickSort2(arr);
        //Sort.mergeSort1(arr);
        System.out.println(Arrays.toString(arr));
    }
}
